package com.wt.chat.service;

import com.wt.chat.entity.Message;

import java.util.List;
import java.util.Map;

/**
 * @description
 * @author: wangtao
 * @date:9:39 2019/11/12
 * @email:taow02@jumei.com
 */
public interface MessageService {
	/**
	 * 根据客服id拉取未读消息
	 * @param kefuId
	 * @return
	 */
	Map<String, List<Message>> pollingByKefuId(Integer kefuId);

	/**
	 * 全量获取消息，初始化某条对话时会使用
	 * @param dialogId
	 * @return
	 */
	List<Message> findByDialogId(Integer dialogId);

	/**
	 * 发送消息
	 * @param message
	 */
	void sendMessage(Message message);

	/**
	 * 用户发送消息后通知消息接收者
	 * @param notifyId
	 * @param message
	 */
	void notify(Integer notifyId, Message message);

	/**
	 * 用户端轮询会话
	 * @param userId
	 * @return
	 */
	Map<String, List<Message>> pollingByUserId(Integer userId);
}
